#ifndef NET_SERVER_H
#define NET_SERVER_H

#include "NetSession.h"

namespace mp_net
{
	typedef boost::shared_ptr<boost::asio::ip::tcp::acceptor> shpAcceptor;

	class NetServer 
		: public NetSession
	{
	public:
		NetServer(shpSocket socket, shpIoService service, shpAcceptor acceptor)
			:NetSession(socket, service){m_acceptor = acceptor;}
		virtual ~NetServer(){}

		virtual bool Start();

		virtual void ThreadInitialization();
		virtual void ThreadUpdate();
		virtual void ThreadShutdown();

	protected:
		shpAcceptor		m_acceptor;
	};
}

#endif